SET LANGUAGE brazilian
---------------------------------------------------------------------------------------------
USE master

IF DB_ID('AlegroPedidos')<>0 
   DROP DATABASE AlegroPedidos
CREATE DATABASE AlegroPedidos
GO

Use AlegroPedidos

--
-- Base de Dados: `AlegroPedidos`
--
-- --------------------------------------------------------

--
-- Estrutura da tabela `tbl_justificativa`
--

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_justificativa' AND TABLE_SCHEMA='dbo')
BEGIN
    EXEC('DROP TABLE [dbo].[tbl_justificativa]')
END
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_justificativa' AND TABLE_SCHEMA='dbo')
BEGIN
	CREATE TABLE tbl_justificativa (
	  jus_texto_justificativa TEXT NOT NULL
	);
END
-- --------------------------------------------------------

--
-- Estrutura da tabela `tbl_sequence`
--

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_sequence' AND TABLE_SCHEMA='dbo')
BEGIN
    EXEC('DROP TABLE [dbo].[tbl_sequence]')
END
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_sequence' AND TABLE_SCHEMA='dbo')
BEGIN
	CREATE TABLE tbl_sequence (
	  seq_pedido INTEGER DEFAULT (0) NOT NULL,
	  seq_cliente INTEGER DEFAULT (0) NOT NULL,
	  seq_usuario INTEGER DEFAULT (0) NOT NULL
	);
END

-- --------------------------------------------------------

--
-- Estrutura da tabela `tbl_prazo`
--

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_prazo' AND TABLE_SCHEMA='dbo')
BEGIN
    EXEC('DROP TABLE [dbo].[tbl_prazo]')
END
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_prazo' AND TABLE_SCHEMA='dbo')
BEGIN
	CREATE TABLE tbl_prazo (
	  pra_codigo INTEGER NOT NULL IDENTITY,
	  pra_dias VARCHAR(255) NULL,
	);
END

-- --------------------------------------------------------

--
-- Estrutura da tabela `tbl_tipo_cliente`
--

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_tipo_cliente' AND TABLE_SCHEMA='dbo')
BEGIN
    EXEC('DROP TABLE [dbo].[tbl_tipo_cliente]')
END
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_tipo_cliente' AND TABLE_SCHEMA='dbo')
BEGIN
	CREATE TABLE tbl_tipo_cliente (
	  tpcli_codigo INTEGER NOT NULL IDENTITY,
	  tpcli_nome VARCHAR(35) NULL,
	  PRIMARY KEY(tpcli_codigo)
	);
END

-- --------------------------------------------------------

--
-- Estrutura da tabela `tbl_tipo_usuario`
--

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_tipo_usuario' AND TABLE_SCHEMA='dbo')
BEGIN
    EXEC('DROP TABLE [dbo].[tbl_tipo_usuario]')
END
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_tipo_usuario' AND TABLE_SCHEMA='dbo')
BEGIN
	CREATE TABLE tbl_tipo_usuario (
	  tip_codigo_tipo_usuario INTEGER NOT NULL IDENTITY,
	  tpusu_nome VARCHAR(35) NULL,
	  PRIMARY KEY(tip_codigo_tipo_usuario)
	);
END

-- --------------------------------------------------------

--
-- Estrutura da tabela `tbl_usuario`
--

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_usuario' AND TABLE_SCHEMA='dbo')
BEGIN
    EXEC('DROP TABLE [dbo].[tbl_usuario]')
END
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_usuario' AND TABLE_SCHEMA='dbo')
BEGIN
	CREATE TABLE tbl_usuario (
	  usu_codigo INTEGER NOT NULL IDENTITY,
	  usu_codigo_singem VARCHAR(2) NULL,
	  tip_codigo_tipo_usuario INTEGER NOT NULL,
	  usu_grupo INTEGER NOT NULL,
	  usu_nome VARCHAR(255) NULL,
	  usu_email VARCHAR(50) NULL,
	  usu_senha VARCHAR(50) NULL,
	  usu_status INTEGER NULL,
	  usu_excluido INTEGER NULL,
	  PRIMARY KEY(usu_codigo),
	  FOREIGN KEY (tip_codigo_tipo_usuario) REFERENCES tbl_tipo_usuario (tip_codigo_tipo_usuario)
	);
END

-- --------------------------------------------------------

--
-- Estrutura da tabela `tbl_pedido`
--

-- Setar a propriedade Identity_insert para ON
-- SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }

-- desabilitando
-- SET IDENTITY_INSERT TB_TESTE ON
-- habilitando
-- SET IDENTITY_INSERT TB_TESTE OFF

-- SET IDENTITY_INSERT tbl_pedido OFF


IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_pedido' AND TABLE_SCHEMA='dbo')
BEGIN
    EXEC('DROP TABLE [dbo].[tbl_pedido]')
END
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_pedido' AND TABLE_SCHEMA='dbo')
BEGIN
	CREATE TABLE tbl_pedido (
	  ped_codigo INTEGER NOT NULL IDENTITY,
	  cli_codigo VARCHAR(5) NOT NULL,
	  cli_cgc VARCHAR(20) NULL,
	  usu_codigo INTEGER NOT NULL,
	  usu_vendedor_singem INTEGER NULL,
	  ped_emissao DATETIME NULL,
	  ped_emisso VARCHAR(50) NULL,
	  ped_prioridade VARCHAR(10) NULL,
	  ped_tabela VARCHAR(10) NULL,
	  ped_desconto VARCHAR(50) NULL,
	  ped_prazo VARCHAR(50) NULL,
	  ped_valor_total VARCHAR(50) NULL,
	  ped_valor_total_com_ipi VARCHAR(50) NULL,
	  ped_valor_total_com_desconto VARCHAR(50) NULL,
	  ped_valor_total_com_ipi_com_desconto VARCHAR(50) NULL,
	  ped_status_comercial INTEGER NULL,
	  ped_status_financeiro INTEGER NULL,
	  ped_status_faturamento INTEGER NULL,
	  ped_motivo_reprovacao_comercial VARCHAR(50) NULL,
	  ped_motivo_reprovacao_financeiro VARCHAR(50) NULL,
	  ped_motivo_reprovacao_faturamento VARCHAR(50) NULL,
	  ped_observacoes TEXT NULL,
	  ped_observacao_financeiro TEXT NULL,
	  ped_observacao_comercial TEXT NULL,
	  ped_observacao_faturamento TEXT NULL,
	  ped_motivo_cancelamento VARCHAR(255) NULL,
	  ped_responsavel VARCHAR(50) NULL,
	  ped_documento VARCHAR(50) NULL,
	  ped_comissao_vendedor VARCHAR(50) NULL,
	  ped_comissao_cliente VARCHAR(50) NULL,
	  ped_tipo_tp_recebimento INTEGER NULL,
	  ped_peso_bruto VARCHAR(50) NULL,
	  ped_peso_liquido VARCHAR(50) NULL,
	  ped_cancelado DATETIME NULL,
	  ped_entrega DATETIME NULL,
	  ped_status INTEGER NULL,
	  ped_excluido INTEGER NULL,
	  PRIMARY KEY(ped_codigo),
	  FOREIGN KEY (usu_codigo) REFERENCES tbl_usuario (usu_codigo)
	);
END

-- --------------------------------------------------------

--
-- Estrutura da tabela `tbl_produto`
--

IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_produto' AND TABLE_SCHEMA='dbo')
BEGIN
    EXEC('DROP TABLE [dbo].[tbl_produto]')
END
IF NOT EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'tbl_produto' AND TABLE_SCHEMA='dbo')
BEGIN
	CREATE TABLE tbl_produto (
	  pro_codigo VARCHAR(100) NOT NULL,
	  ped_codigo INTEGER NOT NULL,
	  pro_quantidade INTEGER NULL,
	  pro_descricao VARCHAR(255) NULL,
	  pro_ipi VARCHAR(50) NULL,
	  pro_ipi_formatado VARCHAR(50) NULL,
	  pro_valor_unitario VARCHAR(50) NULL,
	  pro_valor_unitario_com_ipi VARCHAR(50) NULL,
	  pro_valor_unitario_com_desconto VARCHAR(50) NULL,
	  pro_valor_unitario_com_ipi_com_desconto VARCHAR(50) NULL,
	  pro_valor_total_produto VARCHAR(50) NULL,
	  pro_valor_total_produto_com_ipi VARCHAR(50) NULL,
	  pro_valor_total_produto_com_desconto VARCHAR(50) NULL,
	  pro_valor_total_produto_com_ipi_com_desconto VARCHAR(50) NULL,
	  pro_comissao_vendedor VARCHAR(10) NULL,
	  pro_comissao_cliente VARCHAR(10) NULL,
	  pro_status INTEGER NULL,
	  pro_excluido INTEGER NULL,
	  PRIMARY KEY(pro_codigo, ped_codigo),
	  FOREIGN KEY (ped_codigo) REFERENCES tbl_pedido (ped_codigo)
	);
END
-- --------------------------------------------------------